Securing Android Code Using White Box Cryptography and Obfuscation Techniques
نویسنده
چکیده
Code obfuscation is a set of program transformations that make program code and program execution difficult to analyze. First of all, obfuscation hinders manual inspection of program internals. By renaming variables and functions, and breaking down structures, it protects against reverse-engineering. It protects both storage and usage of keys, and it can hide certain properties such as a software fingerprint or a watermark, or even the location of a flaw in case of an obfuscated patch. However, code obfuscation itself does not protect from code lifting or software piracy. It merely strengthens built-in protection mechanisms, e.g. against tampering or piracy so we propose a strong method for code obfuscation with white box cryptography as White box cryptographic algorithms aim to denying the key readout even if the source code embedding the key is disclosed Combination of these two concepts gives a new level in modern cryptography as well as optimizes its performance and additionally we will make Client and server more secure. Obfuscation itself does not prevent tampering, but hinders the preceding analysis phase. In our proposed method we will use code obfuscation with white box cryptography and apply on android based application, for this purpose we will use proguard.
منابع مشابه
White-Box Cryptography: Formal Notions and (Im)possibility Results
A key research question in computer security is whether one can implement software that offers some protection against software attacks from its execution platform. While code obfuscation attempts to hide certain characteristics of a program P , white-box cryptography specifically focusses on software implementations of cryptographic primitives (such as encryption schemes); the goal of a white-...
متن کاملTowards Security Notions for White-Box Cryptography
While code obfuscation attempts to hide certain characteristics of a program independently of an application, white-box cryptography (WBC) specifically focuses on software implementations of cryptographic primitives in an application. The aim of WBC is to resist attacks from an adversary having access to some ‘executable’ code with an embedded secret key. WBC, if possible, would have several ap...
متن کاملAndroid Code Protection via Obfuscation Techniques: Past, Present and Future Directions
Mobile devices have become ubiquitous due to centralization of private user information, contacts, messages and multiple sensors. Google Android, an open-source mobile Operating System (OS), is currently the market leader. Android popularity has motivated the malware authors to employ set of cyber attacks leveraging code obfuscation techniques. Obfuscation is an action that modifies an applicat...
متن کاملOn White-box Cryptography and Obfuscation
We study the relationship between obfuscation and white-box cryptography. We capture the requirements of any white-box primitive using a White-Box Property (WBP) and give some negative/positive results. Loosely speaking, the WBP is defined for some scheme and a security notion (we call the pair a specification), and implies that w.r.t. the specification, an obfuscation does not leak any “useful...
متن کاملOn the Effectiveness of Code-Reuse-Based Android Application Obfuscation
Attackers use reverse engineering techniques to gain detailed understanding of executable for malicious purposes, such as re-packaging an Android app to inject malicious code or advertising components. To make reverse engineering more difficult, researchers have proposed various code obfuscation techniques to conceal purposes or logic of code segments. One interesting idea of code obfuscation i...
متن کامل